package com.skivingcloud.example.crypto;

import cn.hutool.crypto.SmUtil;
import cn.hutool.crypto.symmetric.SymmetricCrypto;

import java.nio.charset.StandardCharsets;

public class HutoolCryptoUtil {

    /**
     * SM4加密
     * @param key 秘钥
     * @param data 待加密数据
     * @return 加密后数据
     */
    public static String encryptSm4Hex(String key, String data){
        SymmetricCrypto sm4 = SmUtil.sm4(key.getBytes(StandardCharsets.UTF_8));
        return sm4.encryptHex(data);
    }

    /**
     * SM4加密
     * @param key 秘钥
     * @param data 待加密数据
     * @return 加密后数据
     */
    public static String encryptSm4Base64(String key, String data){
        SymmetricCrypto sm4 = SmUtil.sm4(key.getBytes(StandardCharsets.UTF_8));
        return sm4.encryptBase64(data);
    }
}
